package com.tiancheng.trade.order.model;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;

import java.time.LocalDateTime;

/**
 * @Author: likailun
 * @Description: 二维码订单
 * @Date: create in 2021/9/3 2:01 下午
 */
@Data
@TableName(value = "qr_order")
public class QrOrder {
    /**
     * 主键id
     */
    @TableId(type = IdType.AUTO)
    protected Long id;
    /**
     * 二维码单号
     */
    private String orderId;
    /**
     * 支付流水号
     */
    private String flowId;
    /**
     * 银行卡id
     */
    private String accFlowId;
    /**
     * 用户id
     */
    private String uid;
    /**
     * 手机号
     */
    private String mobile;
    /**
     * 申码场景，1-公交<br/>
     * @see com.cloud.trade.order.enums.QrSourceEnum
     */
    private String qrSource;
    /**
     * 订单金额
     */
    private Integer orderAmount;
    /**
     * 优惠金额
     */
    private Integer discount;
    /**
     * 支付金额
     */
    private Integer payAmount;
    /**
     * 退款金额
     */
    private Integer refundAmount;
    /**
     * 订单状态<br/>
     * WP-待支付,HC-已取消，ER-支付失败,AP-已支付
     */
    private String orderStatus;
    /**
     * 商户名称
     */
    private String merchantName;
    /**
     * 商户号
     */
    private String merchantCode;
    /**
     * 是原始的C2B消费或C2B预授权交易的凭证号
     */
    private String voucherNum;

    /**
     * 订单创建时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime createDt;

    /**
     * 支付过期时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime payExpiryTime;

    /**
     * 支付时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime payTime;

    /**
     * 请求方自定义数据
     */
    private String reqReserved;

    /**
     * 异常交易,0-无，31-消费交易，32-消费冲正交易，33-消费撤销交易，34-退货交易
     */
    private Integer errorTrade;
    /**
     * 优惠名称
     */
    private String couponInfo;
}
